Packet switching networks such as the internet are constructed from a switching fabric that includes switches that forward packets of data received on one port of the switch to another port on the switch that is determined by data in the header of the packet. The switch inspects the packet header fields to determine information about the packet being processed. This information is used to index a table of rules that specifies the identity of the switch port(s) that are to receive the packet. For example, the packet header includes information specifying the origin address of the packet and the destination address for the packet. A rule that examines the destination address information might indicate that the packet should be forwarded via a specific port on the switch. If the packet header information indicates that the packet is directed to a plurality of destinations, then the switch might forward the packet through a plurality of ports based on a corresponding rule or rules.
Recent advances in switch design and control have resulted in significant advances in network control. These advances have resulted in so-called “software defined networks” or SDNs. SDNs use generic switches that utilize a particular set of fields within the packets to define the switching rules. The rule set can be loaded into each switch by an SDN controller. The SDN controller operates continuously in a manner that allows the network fabric to be modified without taking the network down. A new rule can be sent to a particular switch, which then changes its routing behavior for packets that satisfy the conditions of the new rule. Multiple SDN controllers can operate on the same switching fabric provided a new rule sent by one SDN controller does not conflict with an existing rule.
SDNs are providing significant improvements in the control and monitoring of conventional packet switching networks. The SDNs can use generic switches which have much less “intelligence” built into the individual switches, and hence, reduce the cost of the switching fabric. In addition, by moving the intelligence to external controlling software that “views” the entire network, more sophisticated packet routing and monitoring can be implemented, which provides better utilization of the network capacity by, for example, allowing traffic to be dynamically routed to avoid congestion.
Cellular communications systems have networks that are also constructed from a switching fabric that could, in principle, be improved by utilizing an SDN. However, the differences between a cellular network and a generic packet switching network inhibit such improvements.